package com.org.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class FactoringDTO implements Serializable {

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 租约保理申请单号
     */
    private String factoringOrderNo;

    /**
     * 外部合同号
     */
    private String outOrderNo;

    /**
     * 商户id
     */
    private String businessId;

    /**
     * 利率，年利率，单位：百分比
     */
    private BigDecimal rate;

    /**
     * 借款金额
     */
    private BigDecimal loanAmount;

    /**
     * 借款期限，单位：月
     */
    private Integer monthLimit;

    /**
     * 一次性服务费，单位：百分比
     */
    private BigDecimal serviceFee;

    /**
     * 金融产品ID
     */
    private Long jrProductId;

    /**
     * 资方ID
     */
    private Long capitalId;

    /**
     * 资方名称
     */
    private String capitalName;

    /**
     * 应收租约合计
     */
    private BigDecimal rentMoney;

    /**
     * 保理授信金额合计
     */
    private BigDecimal factoringCreditMoney;

    /**
     * 服务费
     */
    private BigDecimal serviceMoney;

    /**
     * 保理利息合计
     */
    private BigDecimal factoringAdditionalMoney;

    /**
     * 实收保理金额
     */
    private BigDecimal factoringTrueMoney;

    /**
     * 备注
     */
    private String remark;

    /**
     * 审核备注
     */
    private String auditMemo;

    /**
     * 申请状态，1:申请中，2：初审通过，3：初审不通过，4：复审通过，5：复审不通过
     */
    private Integer applyState;

    /**
     * 预留字段1
     */
    private BigDecimal reserve1;

    /**
     * 预留字段2
     */
    private Integer reserve2;

    /**
     * 预留字段3
     */
    private String reserve3;

    /**
     * 预留字段4
     */
    private String reserve4;

    /**
     * 预留字段5
     */
    private String reserve5;

    /**
     * 删除标识，0：删除 ，1：未删除
     */
    private Boolean delFlg;

    /**
     * 创建用户id
     */
    private Long createUserid;

    /**
     * 创建用户时间
     */
    private LocalDateTime createTime;
    /**
     * 用于查询时间
     */
    @TableField(exist = false)
    private LocalDateTime stime;


    /**
     * 用于查询时间
     */
    @TableField(exist = false)
    private LocalDateTime etime;
    /**
     * 更新用户id
     */
    private Long updateUserid;

    /**
     * 更新用户时间
     */
    private LocalDateTime updateTime;

    /**
     * 贷款信息
     */
    @TableField(exist = false)
    private String dname;

    /**
     * 资金方
     */
    @TableField(exist = false)
    private String cname;

    /**
     * 申请类型id
     */
    @TableField(exist = false)
    private Integer typeId;
    /**
     * 申请类型
     */
    @TableField(exist = false)
    private String typeName;

    /**
     * 审核状态
     */
    @TableField(exist = false)
    private String applyName;


}
